arm: processor: add new struct hsr_smc32 into hsr union
authorVolodymyr Babchuk <volodymyr_babchuk@epam.com>
Wed, 16 Aug 2017 18:44:55 +0000 (21:44 +0300)
committerStefano Stabellini <sstabellini@kernel.org>
Fri, 18 Aug 2017 17:27:51 +0000 (10:27 -0700)
commit830c83af5047db78b973875d8cc7ead8b7aad535
tree14258dffd5edfde5bf4254d1ea3a1a2d7b1517f9
parentbf3872d566972c9f8c7cd2b0e805d2d81da34dd3
arm: processor: add new struct hsr_smc32 into hsr union

On ARMv8, one of conditional exceptions (SMC that originates
from AArch32 state) has extra field in HSR.ISS encoding:

CCKNOWNPASS, bit [19]
Indicates whether the instruction might have failed its condition
code check.
   0 - The instruction was unconditional, or was conditional and
   passed  its condition code check.
   1 - The instruction was conditional, and might have failed its
   condition code check.
(ARM DDI 0487B.a page D7-2272)

This is an instruction specific field, so better to add new structure
to union hsr. This structure describes ISS encoding for an exception
from SMC instruction executing in AArch32 state. But we define this
struct for both ARMv7 and ARMv8, because ARMv8 encoding is backwards
compatible with ARMv7.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Acked-by: Julien Grall <julien.grall@arm.com>
Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
xen/include/asm-arm/processor.h